\hypertarget{structwickr__cipher}{}\section{wickr\+\_\+cipher Struct Reference}
\label{structwickr__cipher}\index{wickr\_cipher@{wickr\_cipher}}


Represents a cipher that can be used in the crypto\+\_\+engine. This meta object holds parameters for the cipher algorithms and maintains an identifier that can be used to look up the desired parameters for an algorithm.  




{\ttfamily \#include $<$cipher.\+h$>$}

\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
wickr\+\_\+cipher\+\_\+id \mbox{\hyperlink{structwickr__cipher_a2ce240f5bd396df05ddd4f30ba944b36}{cipher\+\_\+id}}
\item 
uint8\+\_\+t \mbox{\hyperlink{structwickr__cipher_aec5724cc59d20ae5d7cbb73684b53457}{key\+\_\+len}}
\item 
uint8\+\_\+t \mbox{\hyperlink{structwickr__cipher_a1cd39366934a31345d63ff42deeac1e3}{iv\+\_\+len}}
\item 
uint8\+\_\+t \mbox{\hyperlink{structwickr__cipher_a5ec0af7f260a3f14e31ce8db899aa06e}{auth\+\_\+tag\+\_\+len}}
\item 
bool \mbox{\hyperlink{structwickr__cipher_a21499cb78c9db301261c9d0d647b3e50}{is\+\_\+authenticated}}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Represents a cipher that can be used in the crypto\+\_\+engine. This meta object holds parameters for the cipher algorithms and maintains an identifier that can be used to look up the desired parameters for an algorithm. 

\subsection{Field Documentation}
\mbox{\Hypertarget{structwickr__cipher_a5ec0af7f260a3f14e31ce8db899aa06e}\label{structwickr__cipher_a5ec0af7f260a3f14e31ce8db899aa06e}} 
\index{wickr\_cipher@{wickr\_cipher}!auth\_tag\_len@{auth\_tag\_len}}
\index{auth\_tag\_len@{auth\_tag\_len}!wickr\_cipher@{wickr\_cipher}}
\subsubsection{\texorpdfstring{auth\_tag\_len}{auth\_tag\_len}}
{\footnotesize\ttfamily wickr\+\_\+cipher\+::auth\+\_\+tag\+\_\+len}

the size of the authentication tag required by the cipher to authenticate output of the cipher \mbox{\Hypertarget{structwickr__cipher_a2ce240f5bd396df05ddd4f30ba944b36}\label{structwickr__cipher_a2ce240f5bd396df05ddd4f30ba944b36}} 
\index{wickr\_cipher@{wickr\_cipher}!cipher\_id@{cipher\_id}}
\index{cipher\_id@{cipher\_id}!wickr\_cipher@{wickr\_cipher}}
\subsubsection{\texorpdfstring{cipher\_id}{cipher\_id}}
{\footnotesize\ttfamily wickr\+\_\+cipher\+::cipher\+\_\+id}

identifier for the cipher to be used in serialization / deserialization to load a particular set of cipher parameters \mbox{\Hypertarget{structwickr__cipher_a21499cb78c9db301261c9d0d647b3e50}\label{structwickr__cipher_a21499cb78c9db301261c9d0d647b3e50}} 
\index{wickr\_cipher@{wickr\_cipher}!is\_authenticated@{is\_authenticated}}
\index{is\_authenticated@{is\_authenticated}!wickr\_cipher@{wickr\_cipher}}
\subsubsection{\texorpdfstring{is\_authenticated}{is\_authenticated}}
{\footnotesize\ttfamily wickr\+\_\+cipher\+::is\+\_\+authenticated}

specifies if the cipher requires authentication. If is\+\_\+authenticated is true, then auth\+\_\+tag\+\_\+len must be non-\/zero \mbox{\Hypertarget{structwickr__cipher_a1cd39366934a31345d63ff42deeac1e3}\label{structwickr__cipher_a1cd39366934a31345d63ff42deeac1e3}} 
\index{wickr\_cipher@{wickr\_cipher}!iv\_len@{iv\_len}}
\index{iv\_len@{iv\_len}!wickr\_cipher@{wickr\_cipher}}
\subsubsection{\texorpdfstring{iv\_len}{iv\_len}}
{\footnotesize\ttfamily wickr\+\_\+cipher\+::iv\+\_\+len}

the size of the nonce in bytes required to cipher / decipher input \mbox{\Hypertarget{structwickr__cipher_aec5724cc59d20ae5d7cbb73684b53457}\label{structwickr__cipher_aec5724cc59d20ae5d7cbb73684b53457}} 
\index{wickr\_cipher@{wickr\_cipher}!key\_len@{key\_len}}
\index{key\_len@{key\_len}!wickr\_cipher@{wickr\_cipher}}
\subsubsection{\texorpdfstring{key\_len}{key\_len}}
{\footnotesize\ttfamily wickr\+\_\+cipher\+::key\+\_\+len}

the size of a key in bytes required to cipher / decipher input 

The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
src/wickrcrypto/include/wickrcrypto/cipher.\+h\end{DoxyCompactItemize}
